package com.sky.d_thread;

/**
 * 守护线程案例
 * 理想是你心中的一团火焰，理想是你眼光延伸到地平线外的感觉
 * @Author:hjt
 */
public class DaemonDemo {

	public static class DaemonT extends Thread {
		
		@Override
		public void run() {
			//线程中推荐使用while的原因：可能存在假唤醒,使用wile循环检测更安全
			while (true) {
				System.out.println("I am alive");
				try {
					Thread.sleep(1000);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		}
	}
	
	public static void main(String[] args) {
		Thread t = new DaemonT();
		t.setDaemon(true);
		t.start();
		
		/**
		 守护进程设置之后启动，不能在先start在设置守护进程
		 当一个java应用内，只有守护进程时，Java虚拟机就会自然退出
		 系统服务：GC线程，JIT线程等守护进程
		 
		 */
	}
}
